/**
 * 使用嵌套循环，输出图形
 */
public class Demo03 {

    public static void main(String[] args) {
        /*
            ++++++++++
            ++++++++++
            ++++++++++
            ++++++++++
            ++++++++++
         */
        //外层循环控制行数
        for(int i = 0;i<5;i++){

            //内层循环控制个数
            for(int j = 0;j<10;j++){
                System.out.print("+");
            }
            System.out.println();
        }

        /*
                *               第一行 1个
                * *             第二行 2个
                * * *
                * * * *
                * * * * *       第n行 n个
         */
        for(int i = 0;i<5;i++){

            for(int j = 0; j<=i ;j++){
                System.out.print("* ");
            }
            System.out.println();
        }

        /*
                        *       第一行 有1个*  有n - 1个缩进
                      * *       第二行 有2个   有n - 2个缩进
                    * * *
                  * * * *
                * * * * *       第n行 有n个    有0个
         */
        for(int i = 0;i<5;i++){

            //控制 缩进
            for(int j = 0; j < 4 - i;j++){
                System.out.print("  ");
            }

            //控制 *
            for(int j = 0; j<=i ;j++){
                System.out.print("* ");
            }
            System.out.println();
        }

        /*
                    *               第一行 1个*  n-1个空格
                   ***              第二行 3个*  n-2个空格
                  *****
                 *******
                *********           第n行 2*n -1个 * 0个空格
         */

        for(int i = 0;i<5;i++){

            //控制空格
            for(int j = 0;j<4- i;j++){
                System.out.print(" ");
            }

            //控制 *
            for(int j = 0;j< 2*i + 1;j++){
                System.out.print("*");
            }
            System.out.println();
        }

        /*

                    *               第一行 1个*  n-1个空格
                   ***              第二行 3个*  n-2个空格
                  *****
                 *******
                *********           第n行 2*n -1个 * 0个空格
                 *******            第一行1个空格 7个 * 7 - 2*n
                  *****             第二行2个空格 5个 *
                   ***
                    *               第n行 n个空格 1个 *
         */
        //上半部分
        for(int i = 0;i<5;i++){

            //控制空格
            for(int j = 0;j<4- i;j++){
                System.out.print(" ");
            }

            //控制 *
            for(int j = 0;j< 2*i + 1;j++){
                System.out.print("*");
            }
            System.out.println();
        }

        //下半部分
        for(int i = 0;i<4;i++){

            //控制空格
            for(int j = 0;j<=i;j++){
                System.out.print(" ");
            }

            //控制 *
            for(int j = 0;j< 7- 2*i;j++){
                System.out.print("*");
            }
            System.out.println();
        }

        /*
                    *
                   * *
                  *   *
                 *     *
                *       *
                 *     *
                  *   *
                   * *
                    *
         */

        //上半部分
        for(int i = 0;i<5;i++){

            //控制空格
            for(int j = 0;j<4- i;j++){
                System.out.print(" ");
            }

            //控制 *
            for(int j = 0;j< 2*i + 1;j++){
                if(j == 0 || j == 2*i){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }

            }
            System.out.println();
        }

        //下半部分
        for(int i = 0;i<4;i++){

            //控制空格
            for(int j = 0;j<=i;j++){
                System.out.print(" ");
            }

            //控制 *
            for(int j = 0;j< 7- 2*i;j++){
                if(j == 0 || j == 6-2*i){
                    System.out.print("*");
                }else{
                    System.out.print(" ");
                }

            }
            System.out.println();
        }
    }
}
